package com.view;

import java.math.BigDecimal;
import java.util.Date;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.validation.constraints.NotNull;

import com.type.TipoActualizacionEnum;
import com.type.TipoTarifarioEnum;

@ManagedBean
@ViewScoped
@SuppressWarnings("serial")
public class ActualizacionTarifarioView extends BaseView {

	@NotNull(message = "Valor requerido")
	private TipoActualizacionEnum tipoActualizacion;

	@NotNull(message = "Valor requerido")
	private BigDecimal valor;

	private FamiliaView familia;

	private ProductoView producto;

	private Boolean tarifarioFuturos;

	private Date fecha;

	private TipoTarifarioEnum tipoTarifario;

	public ActualizacionTarifarioView(Long id,
			TipoActualizacionEnum tipoActualizacion, BigDecimal valor,
			FamiliaView familia, ProductoView producto,
			Boolean tarifarioFuturos, Date fecha,
			TipoTarifarioEnum tipoTarifario) {
		this.id = id;
		this.tipoActualizacion = tipoActualizacion;
		this.valor = valor;
		this.familia = familia;
		this.producto = producto;
		this.tarifarioFuturos = tarifarioFuturos;
		this.fecha = fecha;
		this.tipoTarifario = tipoTarifario;
	}

	public ActualizacionTarifarioView() {
		this(null, null, null, new FamiliaView(), new ProductoView(), null,
				null, null);
	}

	public TipoActualizacionEnum getTipoActualizacion() {
		return tipoActualizacion;
	}

	public void setTipoActualizacion(TipoActualizacionEnum tipoActualizacion) {
		this.tipoActualizacion = tipoActualizacion;
	}

	public BigDecimal getValor() {
		return valor;
	}

	public void setValor(BigDecimal valor) {
		this.valor = valor;
	}

	public FamiliaView getFamilia() {
		return familia;
	}

	public void setFamilia(FamiliaView familia) {
		this.familia = familia;
	}

	public ProductoView getProducto() {
		return producto;
	}

	public void setProducto(ProductoView producto) {
		this.producto = producto;
	}

	public Boolean getTarifarioFuturos() {
		return tarifarioFuturos;
	}

	public void setTarifarioFuturos(Boolean tarifarioFuturos) {
		this.tarifarioFuturos = tarifarioFuturos;
	}

	public Date getFecha() {
		return fecha;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	public TipoTarifarioEnum getTipoTarifario() {
		return tipoTarifario;
	}

	public void setTipoTarifario(TipoTarifarioEnum tipoTarifario) {
		this.tipoTarifario = tipoTarifario;
	}

}
